package cn.lzwei.bilimall.ware.service;

import cn.lzwei.bilimall.ware.vo.MergePurchaseVo;
import cn.lzwei.bilimall.ware.vo.PurchaseDoneVo;
import com.baomidou.mybatisplus.extension.service.IService;
import cn.lzwei.common.utils.PageUtils;
import cn.lzwei.bilimall.ware.entity.PurchaseEntity;

import java.util.List;
import java.util.Map;

/**
 * 采购信息
 *
 * @author lizewei
 * @email Lizewei2105@163.com
 * @date 2022-12-22 10:30:40
 */
public interface PurchaseService extends IService<PurchaseEntity> {

    PageUtils queryPage(Map<String, Object> params);
    /**
     * 获取采购单列表：状态为 新建、已分配
     */
    PageUtils getUnrecivePurchase(Map<String, Object> params);
    /**
     * 合并采购需求：1.指定采购单，更新对应的采购需求以及采购单信息；2.无指定采购单，创建采购单并更新采购需求以及采购单信息
     */
    void mergePurchase(MergePurchaseVo mergePurchaseVo);
    /**
     * 模拟领取采购单：需要验证采购单、采购需求的状态
     */
    void receivedPurchase(List<Long> ids);
    /**
     * 模拟完成采购：更新采购需求的状态 ——> 更新采购单状态 ——> 添加库存
     */
    void done(PurchaseDoneVo purchaseDoneVo);
}

